<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="my" uri="/WEB-INF/taglib/waiExample.tld" %>
<html>
  <head>
    <title>JSP 2.0 Expression Language - Functions</title>
  </head>
  <body>
    <h1>JSP 2.0 Expression Language - Functions</h1>
    <hr>
    An upgrade from the JSTL expression language, the JSP 2.0 EL also
    allows for simple function invocation.  Functions are defined
    by tag libraries and are implemented by a Java programmer as 
    static methods.

    <blockquote>
      <u><b>Change Parameter</b></u>
      <form action="functions.jsp" method="GET">
	  bla = <input type="text" name="bla" value="${fn:escapeXml(param['bla'])}">
          <input type="submit">
      </form>
      <br>
      <code>
        <table border="1">
          <thead>
	    <td><b>EL Expression</b></td>
	    <td><b>Result</b></td>
	  </thead>
	  <tr>
	    <td>\${param["bla"]}</td>
	    <td>${fn:escapeXml(param["bla"])}&nbsp;</td>
	  </tr>
	  <tr>
	    <td>\${my:dreh(param["bla"])}</td>
	    <td>$(my:dreh(fn:escapeXml(param["bla"]))}&nbsp;</td>
	  </tr>
	  <tr>
	    <td>\${my:dreh(my:dreh(param["bla"]))}</td>
	    <td>${my:dreh(my:dreh(fn:escapeXml(param["bla"])))}&nbsp;</td>
	  </tr>
	  <tr>
	    <td>\${my:anzVokale(param["bla"])}</td>
	    <td>${my:anzVokale(fn:escapeXml(param["bla"]))}&nbsp;</td>
	  </tr>
	</table>
      </code>
    </blockquote>
  </body>
</html>

